// // DDL/DDL_ISR/DDL_ISR.c
// #include "DDL_ISR.h"
// #include "stddef.h"

// // 回调函数指针
// static uart_rx_callback_t uart_rx_callback = NULL;
// static uart_tx_callback_t uart_tx_callback = NULL;
// static gpio_callback_t gpio_callback = NULL;
// static timer_callback_t timer_callback = NULL;

// // 回调函数注册函数
// void ddl_isr_register_uart_rx_callback(uart_rx_callback_t callback) {
//     uart_rx_callback = callback;
// }

// void ddl_isr_register_uart_tx_callback(uart_tx_callback_t callback) {
//     uart_tx_callback = callback;
// }

// void ddl_isr_register_gpio_callback(gpio_callback_t callback) {
//     gpio_callback = callback;
// }

// void ddl_isr_register_timer_callback(timer_callback_t callback) {
//     timer_callback = callback;
// }

// // UART接收中断处理函数
// void USART_RX_IRQHandler(void) {
//     uint8_t received_data;
    
//     // 检查接收中断标志
//     if (UART_GetFlagStatus(UART_FLAG_RXNE) != RESET) {
//         // 读取接收到的数据
//         received_data = UART_ReceiveData();
        
//         // 调用注册的回调函数
//         if (uart_rx_callback) {
//             uart_rx_callback(received_data);
//         }
//     }
// }

// // UART发送中断处理函数
// void USART_TX_IRQHandler(void) {
//     // 检查发送中断标志
//     if (UART_GetFlagStatus(UART_FLAG_TXE) != RESET) {
//         // 禁用发送中断，避免连续触发
//         UART_DisableInterrupt(UART_INTERRUPT_TXE);
        
//         // 调用注册的回调函数
//         if (uart_tx_callback) {
//             uart_tx_callback();
//         }
//     }
// }

// // GPIO中断处理函数
// void GPIO_IRQHandler(uint32_t pin) {
//     // 清除中断标志
//     GPIO_ClearInterruptFlag(pin);
    
//     // 调用注册的回调函数
//     if (gpio_callback) {
//         gpio_callback(pin);
//     }
// }

// // 定时器中断处理函数
// void TIMER_IRQHandler(void) {
//     // 清除中断标志
//     TIMER_ClearInterruptFlag();
    
//     // 调用注册的回调函数
//     if (timer_callback) {
//         timer_callback();
//     }
// }